﻿<!DOCTYPE html>
<html ng-app="demoApp" lang="en">
<head>
    <title id='Description'>The widget is created after the initialization object becomes available.</title>
    <link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
    <script type="text/javascript" src="../../scripts/jquery-1.11.1.min.js"></script>
    <script type="text/javascript" src="../../scripts/angular.min.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxcore.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdata.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxdraw.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxchart.core.js"></script>
    <script type="text/javascript" src="../../jqwidgets/jqxangular.js"></script>
    <script type="text/javascript">
        var demoApp = angular.module("demoApp", ["jqwidgets"]);

        demoApp.controller("demoController", function ($scope, $http) {
            $scope.createChart = false;
            $http({
                method: 'get',
                url: '../sampledata/nasdaq_vs_sp500.txt'
            }).success(function (data, status) {
                // prepare the data
                var source =
                {
                    datatype: "csv",
                    datafields: [
                        { name: 'Date', type: 'date' },
                        { name: 'S&P 500', type: 'number' },
                        { name: 'NASDAQ', type: 'number' }
                    ],
                    localdata: data
                };
                var dataAdapter = new $.jqx.dataAdapter(source, {
                    async: true, autoBind: true,
                    loadError: function (xhr, status, error) { alert('Error loading "' + source.url + '" : ' + error); }
                });

                var months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];

                // prepare jqxChart settings
                var settings = {
                    title: "U.S. Stock Market Index Performance",
                    description: "NASDAQ Composite compared to S&P 500",
                    enableAnimations: true,
                    showLegend: true,
                    padding: { left: 10, top: 5, right: 10, bottom: 5 },
                    titlePadding: { left: 90, top: 0, right: 0, bottom: 10 },
                    source: dataAdapter,
                    xAxis:
                    {
                        dataField: 'Date',
                        formatFunction: function (value) {
                            return value.getDate() + '-' + months[value.getMonth()] + '-' + value.getFullYear();
                        },
                        type: 'date',
                        baseUnit: 'month',
                        showTickMarks: true,
                        tickMarksInterval: 1,
                        tickMarksColor: '#888888',
                        unitInterval: 1,
                        showGridLines: true,
                        gridLinesInterval: 3,
                        gridLinesColor: '#888888',
                        valuesOnTicks: true,
                        textRotationAngle: -45,
                        textRotationPoint: 'topright',
                        textOffset: { x: 0, y: -25 }
                    },
                    colorScheme: 'scheme04',
                    seriesGroups:
                        [
                            {
                                type: 'line',
                                valueAxis:
                                {
                                    displayValueAxis: true,
                                    description: 'Daily Closing Price',
                                    axisSize: 'auto',
                                    tickMarksColor: '#888888'
                                },
                                series: [
                                        { dataField: 'S&P 500', displayText: 'S&P 500' },
                                        { dataField: 'NASDAQ', displayText: 'NASDAQ' }
                                ]
                            }
                        ]
                };
                $scope.chartSettings = settings;
            });
        });
    </script>
</head>
<body class='default'>
     <div ng-controller="demoController">
        <jqx-chart style="width:850px; height:500px" jqx-create="chartSettings" jqx-settings="chartSettings"></jqx-chart>
    </div>
</body>
</html>
